package character.writer;

import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.function.BiConsumer;
import java.util.function.Consumer;

public class Test2 {
    public static void main(String[] args) throws IOException {
//        1、准备一个集合，用于统计每一种字符出现的次数
        HashMap<Character,Integer> map=new HashMap<>();
        // 2、创建字符输入流，用于读取纯文本文件
        FileReader fr=new FileReader("G:\\Javatest2\\character\\writer\\info.txt");
        //3、读取字符
        int i;
        while((i=fr.read())!=-1){
            char c=(char)i;
            //4、统计字符出现的次数
            if(!map.containsKey(c)){
                map.put(c,1);
            }else {
                map.put(c,map.get(c)+1);
            }

        }
        //5、关闭输入流
        fr.close();
        //6、准备stringBuilder用于拼接操作
        StringBuilder sb=new StringBuilder();
        map.forEach(new BiConsumer<Character, Integer>() {
            @Override
            public void accept(Character key, Integer value) {
                sb.append(key).append("(").append(value).append(")");
            }
        });
        System.out.println(sb);


    }
}
